1. Field of the Invention
The present invention relates to the dynamic assembly of rules in a business rules management system (BRMS) and more particularly to collaborative rule editing in a BRMS.
2. Description of the Related Art
A business rule management system (BRMS) is a software system used to define, deploy, execute, monitor and maintain the variety and complexity of decision logic that is used by operational systems within an organization or enterprise. The decision logic, namely “business rules”, includes policies, requirements, and conditional statements that are used to determine the tactical actions that take place in applications and systems. At the minimum, a BRMS includes a repository, allowing decision logic to be externalized from core application code, tools that allow both technical developers and business experts to define and manage decision logic, and a runtime environment in which applications can invoke decision logic managed within the BRMS and execute the decision logic using a business rules engine.
In a typical BRMS, one or more rules in a rule set are selected according to matching criteria (or exclusionary criteria), also known as a “guard” for an input. The selected rules then are applied once to the input and this process is repeated for all inputs offered to the system. As the rules are applied, and any output resulting from the application generated, the rules can be removed from consideration until none of the selected rules remain to be applied. Thus, to the extent rules can be modified by the end user, the use of a BRMS has been found to reduce or remove reliance on information technology (IT) departments for changes in live systems. The use of a BRMS also has been found to provide increased control over implemented decision logic for compliance and better business management, and also the ability to express decision logic with increased precision, using a business vocabulary syntax and graphical rule representations such as decision tables, trees, scorecards and flows. Finally, the use of a BRMS has been found to improve efficiency of processes through increased decision automation.
In a BRMS, like traditional middleware, multiple different users can collaboratively contribute modules of application logic, for instance, to enforce a business policy, automate a process, instantiate a transaction or produce a tangible result. These modules, referred to in the art as “execution units”, are dynamically assembled by middleware software components and executed to form a single enterprise application program. Importantly, collaborative business rule editing environments like a BRMS allow business users to independently edit business rules including specifying the inputs requisite to the application of the edited business rules.
Of note, with respect to a changed rule, current BRMS systems provide little sense of the relationship between context of rule inputs requisite to applying the rule in the BRMS and the rule itself. While the importance of some contextual attributes such as individual demographics can be gleaned from the collection of all inputs for the rules, in many instances the context will remain hidden when considering only one or a handful of inputs for rules of interest. In particular, when limiting an analysis to only a subset of rule inputs for a selected rule, the context may vary from the norm for all inputs. Yet, this type of information typically cannot directly be displayed in the rule editing environment, where it would be of the most beneficial to the end user.